#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
	int a, b, i;
	int big[] = { 1,3,5,7,8,10,12 };
	int small[] = { 4,6,9,11 };
	scanf("%d %d",&a,&b);
	if (a < 1900 && a>2030) return 1;
	if (b < 1 && b>12) return 1;
	for (i = 0; i < 7; i++) {
		if (big[i] == b) {
			printf("31");
			return 0;
		}
		if (small[i] == b) {
			printf("30");
			return 0;
		}
	}
	if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0) {
		if (b ==2) {
			printf("29");
			return 0;
		}
	}
	else if (b ==2) {
		printf("28");
		return 0;
	}
	return 0;
}